package com.util;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description 分页的工具类
 * @Author hyl
 * @Date 2022/6/25 9:50
 **/
public class PageUtil<T> { //T 任意数据类型==》类似泛型
	private Integer currentPage = 1; //当前页==》默认取第一页的数据
	private Integer showSize = 5;    //每页显示的数量
	private Integer totalSize = 0;   //总数量==》表中一共有多少条数据

	private Integer beginIndex ;  //mysql数据库，偏移量，下标
	private Integer totalPages;   //总页数 ==》通过每页显示的数量，计算出一共有多少页

	//用户存储分页中显示的数据==》集合
	private List<T>  showList = new ArrayList<T>();




	public Integer getCurrentPage() {
		return currentPage;
	}

	public void setCurrentPage(Integer currentPage) {
		this.currentPage = currentPage;
	}

	public Integer getShowSize() {
		return showSize;
	}

	public void setShowSize(Integer showSize) {
		this.showSize = showSize;
	}

	public Integer getTotalSize() {
		return totalSize;
	}

	public void setTotalSize(Integer totalSize) {
		this.totalSize = totalSize;
	}

	public Integer getBeginIndex() {
		//【(需要显示的页-1)*每页显示的数量】
		beginIndex = (currentPage-1) * showSize;
		return beginIndex;
	}

	public Integer getTotalPages() {
		//【总数量%每页显示的数量==0 ? 总数量/每页显示的数量 : 总数量/每页显示的数量+1】
		// 12条数据，每页显示 5条。计算==》3 页
		totalPages = totalSize%showSize==0 ? totalSize/showSize : totalSize/showSize+1;
		return totalPages;
	}


	public List<T> getShowList() {
		return showList;
	}

	public void setShowList(List<T> showList) {
		this.showList = showList;
	}
}
